用c++计算s=1+2^2+3^3+...+n^n

来源:百度知道 编辑:UC知道 时间:2024/09/20 04:10:45

//---------------------------------------------------------------------------
#include <iostream>
#include <cmath>

class jj{
int n;
public:
jj(int c):n(c){};
jj(void){};
void set(int c){n=c;};
double comp(void)const
{
int i;
double s=0;
for (i=1; i<=n; i++) {
s+=std::pow((double)i,(double)i);
}
return s;
}
};
int main(void)
{
jj a;
int n;
std::cout<<"n="<<std::flush;
std::cin>>n;
a.set(n);
std::cout<<a.comp()<<std::endl;
return 0;
}
//---------------------------------------------------------------------------

int fun(int x){
int sum=1;
for(int i=0;i<x;i++)
sum*=x;
return sum;
}
void main(){
int s=0;
for(int i=0;i<n;i++)
s+=fun(i);
}
其他的你自己看着办吧。

最具效率的还是用循环吧,